A hash table is a data structure that uses a hash function to map identifiers (called “keys”) to associated data. The hash function transforms the key into an index to an array element, called a bucket. The index is used to retrieve data from the bucket corresponding to the index. Hash tables are generally more efficient than search trees or other table look-up structures. Hash tables, therefore, are widely used in many kinds of computer software, particularly for associative arrays and database indexing. Hash tables that store key information in each table entry are, however, limited in scalability when the size of the key and the number of keys grows large.